// house_pkg/pages/locate/index.ts
// 需求
// 打开这个社区页面：基于 用户当前的地理位置，获取附近的小区并展示，选择其中的某个小区，进入下一页选择楼栋
// 或者 点击【重新定位】这个按钮，打开地图，选择某个位置，基于选择的位置获取附近的小区并展示，选择其中某个小区，进入下一页选择楼栋。
import qqmapsdk from '../../../utils/qqmap'
Page({
  data: {
    list: []
  },
  // 生命周期函数--监听页面加载
  onLoad() {
    this.getLocation()
  },
  async getLocation() {
    const { latitude, longitude } = await wx.getLocation()
    this.getNearAdd({ latitude, longitude })
    this.reverseGeocoder({ latitude, longitude })
  },
  // 重新定位
  async chooseLocation() {
    const { latitude, longitude, name } = await wx.chooseLocation()
    this.getNearAdd({ latitude, longitude })
    this.reverseGeocoder({ latitude, longitude })
  },
  // 获取当前位置的中文描述
  reverseGeocoder(point) {
    qqmapsdk.reverseGeocoder({
      location: point,
      success: (res) => {
        this.setData({ address: res.result.address })
      }
    })
  },
  // 获取附近小区
  getNearAdd(point) {
    qqmapsdk.search({
      keyword: '附近小区',  //搜索关键词
      location: point,  //设置周边搜索中心点
      page_size: 5,
      success: (res) => { //搜索成功后的回调
        this.setData({
          list: res.data.map(it => ({
            id: it.id,
            title: it.title,
            distance: it._distance // distance: 距离
          }))
        })
      },
      fail: function (res) {
        console.log('fail', res);
      },
      complete: function (res) {
      }
    })
  }

})